package com.qinggeng.project.system.mapper;

import java.util.List;

import com.qinggeng.project.api.dto.GoodsGiftDto;
import com.qinggeng.project.system.domain.GoodsGift;
import org.apache.ibatis.annotations.Param;

/**
 * 商品赠品Mapper接口
 *
 * @author qinggeng
 * @date 2020-07-16
 */
public interface GoodsGiftMapper
{
    /**
     * 查询商品赠品
     *
     * @param giftId 商品赠品ID
     * @return 商品赠品
     */
    public GoodsGift selectGoodsGiftById(Long giftId);

    /**
     * 查询商品赠品列表
     *
     * @param goodsGift 商品赠品
     * @return 商品赠品集合
     */
    public List<GoodsGift> selectGoodsGiftList(GoodsGift goodsGift);

    /**
     * 查询商品赠品列表
     * @param shopId
     * @param giftType
     * @return
     */
    List<GoodsGiftDto> selectGoodsGiftDtoList(@Param("shopId") Long shopId,@Param("giftType") String giftType);

    /**
     * 新增商品赠品
     *
     * @param goodsGift 商品赠品
     * @return 结果
     */
    public int insertGoodsGift(GoodsGift goodsGift);

    /**
     * 修改商品赠品
     *
     * @param goodsGift 商品赠品
     * @return 结果
     */
    public int updateGoodsGift(GoodsGift goodsGift);

    /**
     * 删除商品赠品
     *
     * @param giftId 商品赠品ID
     * @return 结果
     */
    public int deleteGoodsGiftById(Long giftId);

    /**
     * 批量删除商品赠品
     *
     * @param giftIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteGoodsGiftByIds(Long[] giftIds);

    /**
     * 礼品信息
     * @param goodsId
     * @return
     */
    List<GoodsGift> selectGoodsGiftByGoodsId(Long goodsId);


    /**
     * 修改库存
     * @param
     * @return
     */
    int updateGoodsGiftNum(GoodsGift goodsGift);

    /**
     * 检查奖品库存
     * @param goodsGiftId
     * @return
     */
    boolean checkGoodsGiftNum(Long goodsGiftId);
}
